package de.nordakademie.hausarbeit.configwriter.parser.antlr.internal; 

import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import de.nordakademie.hausarbeit.configwriter.services.StrutsConfDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalStrutsConfDslParser extends AbstractInternalAntlrParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'StrutsConfig:'", "'{'", "'}'", "'package name:'", "'extends:'", "'actions:'", "'action:'", "'class:'", "'results'", "'result:'", "'input'", "'success'", "'error'", "'type:'", "'tiles'", "'chain'", "'site:'", "'params {'", "'method:'", "'param:'", "'.'", "'.*'"
    };
    public static final int RULE_ID=4;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__30=30;
    public static final int T__19=19;
    public static final int T__31=31;
    public static final int RULE_STRING=5;
    public static final int T__32=32;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalStrutsConfDslParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalStrutsConfDslParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalStrutsConfDslParser.tokenNames; }
    public String getGrammarFileName() { return "../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g"; }



     	private StrutsConfDslGrammarAccess grammarAccess;
     	
        public InternalStrutsConfDslParser(TokenStream input, StrutsConfDslGrammarAccess grammarAccess) {
            this(input);
            this.grammarAccess = grammarAccess;
            registerRules(grammarAccess.getGrammar());
        }
        
        @Override
        protected String getFirstRuleName() {
        	return "StrutsConfig";	
       	}
       	
       	@Override
       	protected StrutsConfDslGrammarAccess getGrammarAccess() {
       		return grammarAccess;
       	}



    // $ANTLR start "entryRuleStrutsConfig"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:67:1: entryRuleStrutsConfig returns [EObject current=null] : iv_ruleStrutsConfig= ruleStrutsConfig EOF ;
    public final EObject entryRuleStrutsConfig() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleStrutsConfig = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:68:2: (iv_ruleStrutsConfig= ruleStrutsConfig EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:69:2: iv_ruleStrutsConfig= ruleStrutsConfig EOF
            {
             newCompositeNode(grammarAccess.getStrutsConfigRule()); 
            pushFollow(FOLLOW_ruleStrutsConfig_in_entryRuleStrutsConfig75);
            iv_ruleStrutsConfig=ruleStrutsConfig();

            state._fsp--;

             current =iv_ruleStrutsConfig; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStrutsConfig85); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleStrutsConfig"


    // $ANTLR start "ruleStrutsConfig"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:76:1: ruleStrutsConfig returns [EObject current=null] : (otherlv_0= 'StrutsConfig:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_package_3_0= rulePackageContainer ) ) otherlv_4= '}' ) ;
    public final EObject ruleStrutsConfig() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token lv_name_1_0=null;
        Token otherlv_2=null;
        Token otherlv_4=null;
        EObject lv_package_3_0 = null;


         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:79:28: ( (otherlv_0= 'StrutsConfig:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_package_3_0= rulePackageContainer ) ) otherlv_4= '}' ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:80:1: (otherlv_0= 'StrutsConfig:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_package_3_0= rulePackageContainer ) ) otherlv_4= '}' )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:80:1: (otherlv_0= 'StrutsConfig:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_package_3_0= rulePackageContainer ) ) otherlv_4= '}' )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:80:3: otherlv_0= 'StrutsConfig:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_package_3_0= rulePackageContainer ) ) otherlv_4= '}'
            {
            otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleStrutsConfig122); 

                	newLeafNode(otherlv_0, grammarAccess.getStrutsConfigAccess().getStrutsConfigKeyword_0());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:84:1: ( (lv_name_1_0= RULE_ID ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:85:1: (lv_name_1_0= RULE_ID )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:85:1: (lv_name_1_0= RULE_ID )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:86:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleStrutsConfig139); 

            			newLeafNode(lv_name_1_0, grammarAccess.getStrutsConfigAccess().getNameIDTerminalRuleCall_1_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getStrutsConfigRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"ID");
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleStrutsConfig156); 

                	newLeafNode(otherlv_2, grammarAccess.getStrutsConfigAccess().getLeftCurlyBracketKeyword_2());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:106:1: ( (lv_package_3_0= rulePackageContainer ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:107:1: (lv_package_3_0= rulePackageContainer )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:107:1: (lv_package_3_0= rulePackageContainer )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:108:3: lv_package_3_0= rulePackageContainer
            {
             
            	        newCompositeNode(grammarAccess.getStrutsConfigAccess().getPackagePackageContainerParserRuleCall_3_0()); 
            	    
            pushFollow(FOLLOW_rulePackageContainer_in_ruleStrutsConfig177);
            lv_package_3_0=rulePackageContainer();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getStrutsConfigRule());
            	        }
                   		set(
                   			current, 
                   			"package",
                    		lv_package_3_0, 
                    		"PackageContainer");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleStrutsConfig189); 

                	newLeafNode(otherlv_4, grammarAccess.getStrutsConfigAccess().getRightCurlyBracketKeyword_4());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleStrutsConfig"


    // $ANTLR start "entryRulePackageContainer"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:136:1: entryRulePackageContainer returns [EObject current=null] : iv_rulePackageContainer= rulePackageContainer EOF ;
    public final EObject entryRulePackageContainer() throws RecognitionException {
        EObject current = null;

        EObject iv_rulePackageContainer = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:137:2: (iv_rulePackageContainer= rulePackageContainer EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:138:2: iv_rulePackageContainer= rulePackageContainer EOF
            {
             newCompositeNode(grammarAccess.getPackageContainerRule()); 
            pushFollow(FOLLOW_rulePackageContainer_in_entryRulePackageContainer225);
            iv_rulePackageContainer=rulePackageContainer();

            state._fsp--;

             current =iv_rulePackageContainer; 
            match(input,EOF,FOLLOW_EOF_in_entryRulePackageContainer235); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRulePackageContainer"


    // $ANTLR start "rulePackageContainer"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:145:1: rulePackageContainer returns [EObject current=null] : (otherlv_0= 'package name:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'extends:' ( (lv_extends_3_0= RULE_STRING ) ) otherlv_4= '{' (otherlv_5= 'actions:' otherlv_6= '{' ( (lv_actions_7_0= ruleAction ) )* otherlv_8= '}' )? otherlv_9= '}' ) ;
    public final EObject rulePackageContainer() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token lv_name_1_0=null;
        Token otherlv_2=null;
        Token lv_extends_3_0=null;
        Token otherlv_4=null;
        Token otherlv_5=null;
        Token otherlv_6=null;
        Token otherlv_8=null;
        Token otherlv_9=null;
        EObject lv_actions_7_0 = null;


         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:148:28: ( (otherlv_0= 'package name:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'extends:' ( (lv_extends_3_0= RULE_STRING ) ) otherlv_4= '{' (otherlv_5= 'actions:' otherlv_6= '{' ( (lv_actions_7_0= ruleAction ) )* otherlv_8= '}' )? otherlv_9= '}' ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:149:1: (otherlv_0= 'package name:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'extends:' ( (lv_extends_3_0= RULE_STRING ) ) otherlv_4= '{' (otherlv_5= 'actions:' otherlv_6= '{' ( (lv_actions_7_0= ruleAction ) )* otherlv_8= '}' )? otherlv_9= '}' )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:149:1: (otherlv_0= 'package name:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'extends:' ( (lv_extends_3_0= RULE_STRING ) ) otherlv_4= '{' (otherlv_5= 'actions:' otherlv_6= '{' ( (lv_actions_7_0= ruleAction ) )* otherlv_8= '}' )? otherlv_9= '}' )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:149:3: otherlv_0= 'package name:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'extends:' ( (lv_extends_3_0= RULE_STRING ) ) otherlv_4= '{' (otherlv_5= 'actions:' otherlv_6= '{' ( (lv_actions_7_0= ruleAction ) )* otherlv_8= '}' )? otherlv_9= '}'
            {
            otherlv_0=(Token)match(input,14,FOLLOW_14_in_rulePackageContainer272); 

                	newLeafNode(otherlv_0, grammarAccess.getPackageContainerAccess().getPackageNameKeyword_0());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:153:1: ( (lv_name_1_0= RULE_ID ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:154:1: (lv_name_1_0= RULE_ID )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:154:1: (lv_name_1_0= RULE_ID )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:155:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePackageContainer289); 

            			newLeafNode(lv_name_1_0, grammarAccess.getPackageContainerAccess().getNameIDTerminalRuleCall_1_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getPackageContainerRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"ID");
            	    

            }


            }

            otherlv_2=(Token)match(input,15,FOLLOW_15_in_rulePackageContainer306); 

                	newLeafNode(otherlv_2, grammarAccess.getPackageContainerAccess().getExtendsKeyword_2());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:175:1: ( (lv_extends_3_0= RULE_STRING ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:176:1: (lv_extends_3_0= RULE_STRING )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:176:1: (lv_extends_3_0= RULE_STRING )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:177:3: lv_extends_3_0= RULE_STRING
            {
            lv_extends_3_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rulePackageContainer323); 

            			newLeafNode(lv_extends_3_0, grammarAccess.getPackageContainerAccess().getExtendsSTRINGTerminalRuleCall_3_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getPackageContainerRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"extends",
                    		lv_extends_3_0, 
                    		"STRING");
            	    

            }


            }

            otherlv_4=(Token)match(input,12,FOLLOW_12_in_rulePackageContainer340); 

                	newLeafNode(otherlv_4, grammarAccess.getPackageContainerAccess().getLeftCurlyBracketKeyword_4());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:197:1: (otherlv_5= 'actions:' otherlv_6= '{' ( (lv_actions_7_0= ruleAction ) )* otherlv_8= '}' )?
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==16) ) {
                alt2=1;
            }
            switch (alt2) {
                case 1 :
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:197:3: otherlv_5= 'actions:' otherlv_6= '{' ( (lv_actions_7_0= ruleAction ) )* otherlv_8= '}'
                    {
                    otherlv_5=(Token)match(input,16,FOLLOW_16_in_rulePackageContainer353); 

                        	newLeafNode(otherlv_5, grammarAccess.getPackageContainerAccess().getActionsKeyword_5_0());
                        
                    otherlv_6=(Token)match(input,12,FOLLOW_12_in_rulePackageContainer365); 

                        	newLeafNode(otherlv_6, grammarAccess.getPackageContainerAccess().getLeftCurlyBracketKeyword_5_1());
                        
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:205:1: ( (lv_actions_7_0= ruleAction ) )*
                    loop1:
                    do {
                        int alt1=2;
                        int LA1_0 = input.LA(1);

                        if ( (LA1_0==17) ) {
                            alt1=1;
                        }


                        switch (alt1) {
                    	case 1 :
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:206:1: (lv_actions_7_0= ruleAction )
                    	    {
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:206:1: (lv_actions_7_0= ruleAction )
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:207:3: lv_actions_7_0= ruleAction
                    	    {
                    	     
                    	    	        newCompositeNode(grammarAccess.getPackageContainerAccess().getActionsActionParserRuleCall_5_2_0()); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleAction_in_rulePackageContainer386);
                    	    lv_actions_7_0=ruleAction();

                    	    state._fsp--;


                    	    	        if (current==null) {
                    	    	            current = createModelElementForParent(grammarAccess.getPackageContainerRule());
                    	    	        }
                    	           		add(
                    	           			current, 
                    	           			"actions",
                    	            		lv_actions_7_0, 
                    	            		"Action");
                    	    	        afterParserOrEnumRuleCall();
                    	    	    

                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop1;
                        }
                    } while (true);

                    otherlv_8=(Token)match(input,13,FOLLOW_13_in_rulePackageContainer399); 

                        	newLeafNode(otherlv_8, grammarAccess.getPackageContainerAccess().getRightCurlyBracketKeyword_5_3());
                        

                    }
                    break;

            }

            otherlv_9=(Token)match(input,13,FOLLOW_13_in_rulePackageContainer413); 

                	newLeafNode(otherlv_9, grammarAccess.getPackageContainerAccess().getRightCurlyBracketKeyword_6());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "rulePackageContainer"


    // $ANTLR start "entryRuleAction"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:239:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ;
    public final EObject entryRuleAction() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleAction = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:240:2: (iv_ruleAction= ruleAction EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:241:2: iv_ruleAction= ruleAction EOF
            {
             newCompositeNode(grammarAccess.getActionRule()); 
            pushFollow(FOLLOW_ruleAction_in_entryRuleAction449);
            iv_ruleAction=ruleAction();

            state._fsp--;

             current =iv_ruleAction; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAction459); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleAction"


    // $ANTLR start "ruleAction"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:248:1: ruleAction returns [EObject current=null] : (otherlv_0= 'action:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'class:' ( (lv_class_4_0= ruleClass ) ) ( (lv_method_5_0= ruleMethod ) ) (otherlv_6= 'results' otherlv_7= '{' ( (lv_results_8_0= ruleResult ) )* otherlv_9= '}' )? otherlv_10= '}' ) ;
    public final EObject ruleAction() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token lv_name_1_0=null;
        Token otherlv_2=null;
        Token otherlv_3=null;
        Token otherlv_6=null;
        Token otherlv_7=null;
        Token otherlv_9=null;
        Token otherlv_10=null;
        EObject lv_class_4_0 = null;

        EObject lv_method_5_0 = null;

        EObject lv_results_8_0 = null;


         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:251:28: ( (otherlv_0= 'action:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'class:' ( (lv_class_4_0= ruleClass ) ) ( (lv_method_5_0= ruleMethod ) ) (otherlv_6= 'results' otherlv_7= '{' ( (lv_results_8_0= ruleResult ) )* otherlv_9= '}' )? otherlv_10= '}' ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:252:1: (otherlv_0= 'action:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'class:' ( (lv_class_4_0= ruleClass ) ) ( (lv_method_5_0= ruleMethod ) ) (otherlv_6= 'results' otherlv_7= '{' ( (lv_results_8_0= ruleResult ) )* otherlv_9= '}' )? otherlv_10= '}' )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:252:1: (otherlv_0= 'action:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'class:' ( (lv_class_4_0= ruleClass ) ) ( (lv_method_5_0= ruleMethod ) ) (otherlv_6= 'results' otherlv_7= '{' ( (lv_results_8_0= ruleResult ) )* otherlv_9= '}' )? otherlv_10= '}' )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:252:3: otherlv_0= 'action:' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' otherlv_3= 'class:' ( (lv_class_4_0= ruleClass ) ) ( (lv_method_5_0= ruleMethod ) ) (otherlv_6= 'results' otherlv_7= '{' ( (lv_results_8_0= ruleResult ) )* otherlv_9= '}' )? otherlv_10= '}'
            {
            otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleAction496); 

                	newLeafNode(otherlv_0, grammarAccess.getActionAccess().getActionKeyword_0());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:256:1: ( (lv_name_1_0= RULE_ID ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:257:1: (lv_name_1_0= RULE_ID )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:257:1: (lv_name_1_0= RULE_ID )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:258:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAction513); 

            			newLeafNode(lv_name_1_0, grammarAccess.getActionAccess().getNameIDTerminalRuleCall_1_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getActionRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"ID");
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleAction530); 

                	newLeafNode(otherlv_2, grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2());
                
            otherlv_3=(Token)match(input,18,FOLLOW_18_in_ruleAction542); 

                	newLeafNode(otherlv_3, grammarAccess.getActionAccess().getClassKeyword_3());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:282:1: ( (lv_class_4_0= ruleClass ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:283:1: (lv_class_4_0= ruleClass )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:283:1: (lv_class_4_0= ruleClass )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:284:3: lv_class_4_0= ruleClass
            {
             
            	        newCompositeNode(grammarAccess.getActionAccess().getClassClassParserRuleCall_4_0()); 
            	    
            pushFollow(FOLLOW_ruleClass_in_ruleAction563);
            lv_class_4_0=ruleClass();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getActionRule());
            	        }
                   		set(
                   			current, 
                   			"class",
                    		lv_class_4_0, 
                    		"Class");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:300:2: ( (lv_method_5_0= ruleMethod ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:301:1: (lv_method_5_0= ruleMethod )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:301:1: (lv_method_5_0= ruleMethod )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:302:3: lv_method_5_0= ruleMethod
            {
             
            	        newCompositeNode(grammarAccess.getActionAccess().getMethodMethodParserRuleCall_5_0()); 
            	    
            pushFollow(FOLLOW_ruleMethod_in_ruleAction584);
            lv_method_5_0=ruleMethod();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getActionRule());
            	        }
                   		set(
                   			current, 
                   			"method",
                    		lv_method_5_0, 
                    		"Method");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:318:2: (otherlv_6= 'results' otherlv_7= '{' ( (lv_results_8_0= ruleResult ) )* otherlv_9= '}' )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==19) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:318:4: otherlv_6= 'results' otherlv_7= '{' ( (lv_results_8_0= ruleResult ) )* otherlv_9= '}'
                    {
                    otherlv_6=(Token)match(input,19,FOLLOW_19_in_ruleAction597); 

                        	newLeafNode(otherlv_6, grammarAccess.getActionAccess().getResultsKeyword_6_0());
                        
                    otherlv_7=(Token)match(input,12,FOLLOW_12_in_ruleAction609); 

                        	newLeafNode(otherlv_7, grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_6_1());
                        
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:326:1: ( (lv_results_8_0= ruleResult ) )*
                    loop3:
                    do {
                        int alt3=2;
                        int LA3_0 = input.LA(1);

                        if ( (LA3_0==20||LA3_0==24) ) {
                            alt3=1;
                        }


                        switch (alt3) {
                    	case 1 :
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:327:1: (lv_results_8_0= ruleResult )
                    	    {
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:327:1: (lv_results_8_0= ruleResult )
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:328:3: lv_results_8_0= ruleResult
                    	    {
                    	     
                    	    	        newCompositeNode(grammarAccess.getActionAccess().getResultsResultParserRuleCall_6_2_0()); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleResult_in_ruleAction630);
                    	    lv_results_8_0=ruleResult();

                    	    state._fsp--;


                    	    	        if (current==null) {
                    	    	            current = createModelElementForParent(grammarAccess.getActionRule());
                    	    	        }
                    	           		add(
                    	           			current, 
                    	           			"results",
                    	            		lv_results_8_0, 
                    	            		"Result");
                    	    	        afterParserOrEnumRuleCall();
                    	    	    

                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop3;
                        }
                    } while (true);

                    otherlv_9=(Token)match(input,13,FOLLOW_13_in_ruleAction643); 

                        	newLeafNode(otherlv_9, grammarAccess.getActionAccess().getRightCurlyBracketKeyword_6_3());
                        

                    }
                    break;

            }

            otherlv_10=(Token)match(input,13,FOLLOW_13_in_ruleAction657); 

                	newLeafNode(otherlv_10, grammarAccess.getActionAccess().getRightCurlyBracketKeyword_7());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleAction"


    // $ANTLR start "entryRuleResult"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:360:1: entryRuleResult returns [EObject current=null] : iv_ruleResult= ruleResult EOF ;
    public final EObject entryRuleResult() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleResult = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:361:2: (iv_ruleResult= ruleResult EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:362:2: iv_ruleResult= ruleResult EOF
            {
             newCompositeNode(grammarAccess.getResultRule()); 
            pushFollow(FOLLOW_ruleResult_in_entryRuleResult693);
            iv_ruleResult=ruleResult();

            state._fsp--;

             current =iv_ruleResult; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleResult703); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleResult"


    // $ANTLR start "ruleResult"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:369:1: ruleResult returns [EObject current=null] : ( (otherlv_0= 'result:' ( ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) ) ) )? otherlv_2= 'type:' ( ( (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' ) ) ) (otherlv_4= 'site:' ( (lv_site_5_0= RULE_STRING ) ) )? (otherlv_6= 'params {' ( (lv_params_7_0= ruleParameter ) )* otherlv_8= '}' )? ) ;
    public final EObject ruleResult() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token lv_name_1_1=null;
        Token lv_name_1_2=null;
        Token lv_name_1_3=null;
        Token otherlv_2=null;
        Token lv_type_3_1=null;
        Token lv_type_3_2=null;
        Token otherlv_4=null;
        Token lv_site_5_0=null;
        Token otherlv_6=null;
        Token otherlv_8=null;
        EObject lv_params_7_0 = null;


         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:372:28: ( ( (otherlv_0= 'result:' ( ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) ) ) )? otherlv_2= 'type:' ( ( (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' ) ) ) (otherlv_4= 'site:' ( (lv_site_5_0= RULE_STRING ) ) )? (otherlv_6= 'params {' ( (lv_params_7_0= ruleParameter ) )* otherlv_8= '}' )? ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:373:1: ( (otherlv_0= 'result:' ( ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) ) ) )? otherlv_2= 'type:' ( ( (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' ) ) ) (otherlv_4= 'site:' ( (lv_site_5_0= RULE_STRING ) ) )? (otherlv_6= 'params {' ( (lv_params_7_0= ruleParameter ) )* otherlv_8= '}' )? )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:373:1: ( (otherlv_0= 'result:' ( ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) ) ) )? otherlv_2= 'type:' ( ( (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' ) ) ) (otherlv_4= 'site:' ( (lv_site_5_0= RULE_STRING ) ) )? (otherlv_6= 'params {' ( (lv_params_7_0= ruleParameter ) )* otherlv_8= '}' )? )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:373:2: (otherlv_0= 'result:' ( ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) ) ) )? otherlv_2= 'type:' ( ( (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' ) ) ) (otherlv_4= 'site:' ( (lv_site_5_0= RULE_STRING ) ) )? (otherlv_6= 'params {' ( (lv_params_7_0= ruleParameter ) )* otherlv_8= '}' )?
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:373:2: (otherlv_0= 'result:' ( ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) ) ) )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==20) ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:373:4: otherlv_0= 'result:' ( ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) ) )
                    {
                    otherlv_0=(Token)match(input,20,FOLLOW_20_in_ruleResult741); 

                        	newLeafNode(otherlv_0, grammarAccess.getResultAccess().getResultKeyword_0_0());
                        
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:377:1: ( ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) ) )
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:378:1: ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) )
                    {
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:378:1: ( (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' ) )
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:379:1: (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' )
                    {
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:379:1: (lv_name_1_1= 'input' | lv_name_1_2= 'success' | lv_name_1_3= 'error' )
                    int alt5=3;
                    switch ( input.LA(1) ) {
                    case 21:
                        {
                        alt5=1;
                        }
                        break;
                    case 22:
                        {
                        alt5=2;
                        }
                        break;
                    case 23:
                        {
                        alt5=3;
                        }
                        break;
                    default:
                        NoViableAltException nvae =
                            new NoViableAltException("", 5, 0, input);

                        throw nvae;
                    }

                    switch (alt5) {
                        case 1 :
                            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:380:3: lv_name_1_1= 'input'
                            {
                            lv_name_1_1=(Token)match(input,21,FOLLOW_21_in_ruleResult761); 

                                    newLeafNode(lv_name_1_1, grammarAccess.getResultAccess().getNameInputKeyword_0_1_0_0());
                                

                            	        if (current==null) {
                            	            current = createModelElement(grammarAccess.getResultRule());
                            	        }
                                   		setWithLastConsumed(current, "name", lv_name_1_1, null);
                            	    

                            }
                            break;
                        case 2 :
                            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:392:8: lv_name_1_2= 'success'
                            {
                            lv_name_1_2=(Token)match(input,22,FOLLOW_22_in_ruleResult790); 

                                    newLeafNode(lv_name_1_2, grammarAccess.getResultAccess().getNameSuccessKeyword_0_1_0_1());
                                

                            	        if (current==null) {
                            	            current = createModelElement(grammarAccess.getResultRule());
                            	        }
                                   		setWithLastConsumed(current, "name", lv_name_1_2, null);
                            	    

                            }
                            break;
                        case 3 :
                            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:404:8: lv_name_1_3= 'error'
                            {
                            lv_name_1_3=(Token)match(input,23,FOLLOW_23_in_ruleResult819); 

                                    newLeafNode(lv_name_1_3, grammarAccess.getResultAccess().getNameErrorKeyword_0_1_0_2());
                                

                            	        if (current==null) {
                            	            current = createModelElement(grammarAccess.getResultRule());
                            	        }
                                   		setWithLastConsumed(current, "name", lv_name_1_3, null);
                            	    

                            }
                            break;

                    }


                    }


                    }


                    }
                    break;

            }

            otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleResult849); 

                	newLeafNode(otherlv_2, grammarAccess.getResultAccess().getTypeKeyword_1());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:423:1: ( ( (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' ) ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:424:1: ( (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' ) )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:424:1: ( (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:425:1: (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:425:1: (lv_type_3_1= 'tiles' | lv_type_3_2= 'chain' )
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==25) ) {
                alt7=1;
            }
            else if ( (LA7_0==26) ) {
                alt7=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:426:3: lv_type_3_1= 'tiles'
                    {
                    lv_type_3_1=(Token)match(input,25,FOLLOW_25_in_ruleResult869); 

                            newLeafNode(lv_type_3_1, grammarAccess.getResultAccess().getTypeTilesKeyword_2_0_0());
                        

                    	        if (current==null) {
                    	            current = createModelElement(grammarAccess.getResultRule());
                    	        }
                           		setWithLastConsumed(current, "type", lv_type_3_1, null);
                    	    

                    }
                    break;
                case 2 :
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:438:8: lv_type_3_2= 'chain'
                    {
                    lv_type_3_2=(Token)match(input,26,FOLLOW_26_in_ruleResult898); 

                            newLeafNode(lv_type_3_2, grammarAccess.getResultAccess().getTypeChainKeyword_2_0_1());
                        

                    	        if (current==null) {
                    	            current = createModelElement(grammarAccess.getResultRule());
                    	        }
                           		setWithLastConsumed(current, "type", lv_type_3_2, null);
                    	    

                    }
                    break;

            }


            }


            }

            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:453:2: (otherlv_4= 'site:' ( (lv_site_5_0= RULE_STRING ) ) )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==27) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:453:4: otherlv_4= 'site:' ( (lv_site_5_0= RULE_STRING ) )
                    {
                    otherlv_4=(Token)match(input,27,FOLLOW_27_in_ruleResult927); 

                        	newLeafNode(otherlv_4, grammarAccess.getResultAccess().getSiteKeyword_3_0());
                        
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:457:1: ( (lv_site_5_0= RULE_STRING ) )
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:458:1: (lv_site_5_0= RULE_STRING )
                    {
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:458:1: (lv_site_5_0= RULE_STRING )
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:459:3: lv_site_5_0= RULE_STRING
                    {
                    lv_site_5_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleResult944); 

                    			newLeafNode(lv_site_5_0, grammarAccess.getResultAccess().getSiteSTRINGTerminalRuleCall_3_1_0()); 
                    		

                    	        if (current==null) {
                    	            current = createModelElement(grammarAccess.getResultRule());
                    	        }
                           		setWithLastConsumed(
                           			current, 
                           			"site",
                            		lv_site_5_0, 
                            		"STRING");
                    	    

                    }


                    }


                    }
                    break;

            }

            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:475:4: (otherlv_6= 'params {' ( (lv_params_7_0= ruleParameter ) )* otherlv_8= '}' )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==28) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:475:6: otherlv_6= 'params {' ( (lv_params_7_0= ruleParameter ) )* otherlv_8= '}'
                    {
                    otherlv_6=(Token)match(input,28,FOLLOW_28_in_ruleResult964); 

                        	newLeafNode(otherlv_6, grammarAccess.getResultAccess().getParamsKeyword_4_0());
                        
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:479:1: ( (lv_params_7_0= ruleParameter ) )*
                    loop9:
                    do {
                        int alt9=2;
                        int LA9_0 = input.LA(1);

                        if ( (LA9_0==30) ) {
                            alt9=1;
                        }


                        switch (alt9) {
                    	case 1 :
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:480:1: (lv_params_7_0= ruleParameter )
                    	    {
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:480:1: (lv_params_7_0= ruleParameter )
                    	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:481:3: lv_params_7_0= ruleParameter
                    	    {
                    	     
                    	    	        newCompositeNode(grammarAccess.getResultAccess().getParamsParameterParserRuleCall_4_1_0()); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleParameter_in_ruleResult985);
                    	    lv_params_7_0=ruleParameter();

                    	    state._fsp--;


                    	    	        if (current==null) {
                    	    	            current = createModelElementForParent(grammarAccess.getResultRule());
                    	    	        }
                    	           		add(
                    	           			current, 
                    	           			"params",
                    	            		lv_params_7_0, 
                    	            		"Parameter");
                    	    	        afterParserOrEnumRuleCall();
                    	    	    

                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop9;
                        }
                    } while (true);

                    otherlv_8=(Token)match(input,13,FOLLOW_13_in_ruleResult998); 

                        	newLeafNode(otherlv_8, grammarAccess.getResultAccess().getRightCurlyBracketKeyword_4_2());
                        

                    }
                    break;

            }


            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleResult"


    // $ANTLR start "entryRuleClass"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:509:1: entryRuleClass returns [EObject current=null] : iv_ruleClass= ruleClass EOF ;
    public final EObject entryRuleClass() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleClass = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:510:2: (iv_ruleClass= ruleClass EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:511:2: iv_ruleClass= ruleClass EOF
            {
             newCompositeNode(grammarAccess.getClassRule()); 
            pushFollow(FOLLOW_ruleClass_in_entryRuleClass1036);
            iv_ruleClass=ruleClass();

            state._fsp--;

             current =iv_ruleClass; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleClass1046); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleClass"


    // $ANTLR start "ruleClass"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:518:1: ruleClass returns [EObject current=null] : ( (lv_name_0_0= ruleQualifiedNameWithWildcard ) ) ;
    public final EObject ruleClass() throws RecognitionException {
        EObject current = null;

        AntlrDatatypeRuleToken lv_name_0_0 = null;


         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:521:28: ( ( (lv_name_0_0= ruleQualifiedNameWithWildcard ) ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:522:1: ( (lv_name_0_0= ruleQualifiedNameWithWildcard ) )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:522:1: ( (lv_name_0_0= ruleQualifiedNameWithWildcard ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:523:1: (lv_name_0_0= ruleQualifiedNameWithWildcard )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:523:1: (lv_name_0_0= ruleQualifiedNameWithWildcard )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:524:3: lv_name_0_0= ruleQualifiedNameWithWildcard
            {
             
            	        newCompositeNode(grammarAccess.getClassAccess().getNameQualifiedNameWithWildcardParserRuleCall_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_ruleClass1091);
            lv_name_0_0=ruleQualifiedNameWithWildcard();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getClassRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_0_0, 
                    		"QualifiedNameWithWildcard");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleClass"


    // $ANTLR start "entryRuleMethod"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:548:1: entryRuleMethod returns [EObject current=null] : iv_ruleMethod= ruleMethod EOF ;
    public final EObject entryRuleMethod() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleMethod = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:549:2: (iv_ruleMethod= ruleMethod EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:550:2: iv_ruleMethod= ruleMethod EOF
            {
             newCompositeNode(grammarAccess.getMethodRule()); 
            pushFollow(FOLLOW_ruleMethod_in_entryRuleMethod1126);
            iv_ruleMethod=ruleMethod();

            state._fsp--;

             current =iv_ruleMethod; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMethod1136); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleMethod"


    // $ANTLR start "ruleMethod"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:557:1: ruleMethod returns [EObject current=null] : (otherlv_0= 'method:' ( (lv_name_1_0= RULE_STRING ) ) ) ;
    public final EObject ruleMethod() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token lv_name_1_0=null;

         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:560:28: ( (otherlv_0= 'method:' ( (lv_name_1_0= RULE_STRING ) ) ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:561:1: (otherlv_0= 'method:' ( (lv_name_1_0= RULE_STRING ) ) )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:561:1: (otherlv_0= 'method:' ( (lv_name_1_0= RULE_STRING ) ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:561:3: otherlv_0= 'method:' ( (lv_name_1_0= RULE_STRING ) )
            {
            otherlv_0=(Token)match(input,29,FOLLOW_29_in_ruleMethod1173); 

                	newLeafNode(otherlv_0, grammarAccess.getMethodAccess().getMethodKeyword_0());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:565:1: ( (lv_name_1_0= RULE_STRING ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:566:1: (lv_name_1_0= RULE_STRING )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:566:1: (lv_name_1_0= RULE_STRING )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:567:3: lv_name_1_0= RULE_STRING
            {
            lv_name_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleMethod1190); 

            			newLeafNode(lv_name_1_0, grammarAccess.getMethodAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getMethodRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"STRING");
            	    

            }


            }


            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleMethod"


    // $ANTLR start "entryRuleParameter"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:591:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
    public final EObject entryRuleParameter() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleParameter = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:592:2: (iv_ruleParameter= ruleParameter EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:593:2: iv_ruleParameter= ruleParameter EOF
            {
             newCompositeNode(grammarAccess.getParameterRule()); 
            pushFollow(FOLLOW_ruleParameter_in_entryRuleParameter1231);
            iv_ruleParameter=ruleParameter();

            state._fsp--;

             current =iv_ruleParameter; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleParameter1241); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleParameter"


    // $ANTLR start "ruleParameter"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:600:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'param:' ( (lv_name_1_0= RULE_STRING ) ) otherlv_2= 'site:' ( (lv_site_3_0= RULE_STRING ) ) ) ;
    public final EObject ruleParameter() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token lv_name_1_0=null;
        Token otherlv_2=null;
        Token lv_site_3_0=null;

         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:603:28: ( (otherlv_0= 'param:' ( (lv_name_1_0= RULE_STRING ) ) otherlv_2= 'site:' ( (lv_site_3_0= RULE_STRING ) ) ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:604:1: (otherlv_0= 'param:' ( (lv_name_1_0= RULE_STRING ) ) otherlv_2= 'site:' ( (lv_site_3_0= RULE_STRING ) ) )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:604:1: (otherlv_0= 'param:' ( (lv_name_1_0= RULE_STRING ) ) otherlv_2= 'site:' ( (lv_site_3_0= RULE_STRING ) ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:604:3: otherlv_0= 'param:' ( (lv_name_1_0= RULE_STRING ) ) otherlv_2= 'site:' ( (lv_site_3_0= RULE_STRING ) )
            {
            otherlv_0=(Token)match(input,30,FOLLOW_30_in_ruleParameter1278); 

                	newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParamKeyword_0());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:608:1: ( (lv_name_1_0= RULE_STRING ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:609:1: (lv_name_1_0= RULE_STRING )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:609:1: (lv_name_1_0= RULE_STRING )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:610:3: lv_name_1_0= RULE_STRING
            {
            lv_name_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleParameter1295); 

            			newLeafNode(lv_name_1_0, grammarAccess.getParameterAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getParameterRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"STRING");
            	    

            }


            }

            otherlv_2=(Token)match(input,27,FOLLOW_27_in_ruleParameter1312); 

                	newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getSiteKeyword_2());
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:630:1: ( (lv_site_3_0= RULE_STRING ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:631:1: (lv_site_3_0= RULE_STRING )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:631:1: (lv_site_3_0= RULE_STRING )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:632:3: lv_site_3_0= RULE_STRING
            {
            lv_site_3_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleParameter1329); 

            			newLeafNode(lv_site_3_0, grammarAccess.getParameterAccess().getSiteSTRINGTerminalRuleCall_3_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getParameterRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"site",
                    		lv_site_3_0, 
                    		"STRING");
            	    

            }


            }


            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleParameter"


    // $ANTLR start "entryRuleQualifiedName"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:656:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
    public final String entryRuleQualifiedName() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleQualifiedName = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:657:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:658:2: iv_ruleQualifiedName= ruleQualifiedName EOF
            {
             newCompositeNode(grammarAccess.getQualifiedNameRule()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName1371);
            iv_ruleQualifiedName=ruleQualifiedName();

            state._fsp--;

             current =iv_ruleQualifiedName.getText(); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName1382); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleQualifiedName"


    // $ANTLR start "ruleQualifiedName"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:665:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
    public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        Token this_ID_0=null;
        Token kw=null;
        Token this_ID_2=null;

         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:668:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:669:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:669:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:669:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
            {
            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName1422); 

            		current.merge(this_ID_0);
                
             
                newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:676:1: (kw= '.' this_ID_2= RULE_ID )*
            loop11:
            do {
                int alt11=2;
                int LA11_0 = input.LA(1);

                if ( (LA11_0==31) ) {
                    alt11=1;
                }


                switch (alt11) {
            	case 1 :
            	    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:677:2: kw= '.' this_ID_2= RULE_ID
            	    {
            	    kw=(Token)match(input,31,FOLLOW_31_in_ruleQualifiedName1441); 

            	            current.merge(kw);
            	            newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
            	        
            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName1456); 

            	    		current.merge(this_ID_2);
            	        
            	     
            	        newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
            	        

            	    }
            	    break;

            	default :
            	    break loop11;
                }
            } while (true);


            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleQualifiedName"


    // $ANTLR start "entryRuleQualifiedNameWithWildcard"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:697:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ;
    public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null;


        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:698:2: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:699:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF
            {
             newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); 
            pushFollow(FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard1504);
            iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard();

            state._fsp--;

             current =iv_ruleQualifiedNameWithWildcard.getText(); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard1515); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleQualifiedNameWithWildcard"


    // $ANTLR start "ruleQualifiedNameWithWildcard"
    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:706:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? ) ;
    public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        Token kw=null;
        AntlrDatatypeRuleToken this_QualifiedName_0 = null;


         enterRule(); 
            
        try {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:709:28: ( (this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? ) )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:710:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? )
            {
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:710:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.*' )? )
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:711:5: this_QualifiedName_0= ruleQualifiedName (kw= '.*' )?
            {
             
                    newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); 
                
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleQualifiedNameWithWildcard1562);
            this_QualifiedName_0=ruleQualifiedName();

            state._fsp--;


            		current.merge(this_QualifiedName_0);
                
             
                    afterParserOrEnumRuleCall();
                
            // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:721:1: (kw= '.*' )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==32) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../de.nordakademie.hausarbeit.configwriter/src-gen/de/nordakademie/hausarbeit/configwriter/parser/antlr/internal/InternalStrutsConfDsl.g:722:2: kw= '.*'
                    {
                    kw=(Token)match(input,32,FOLLOW_32_in_ruleQualifiedNameWithWildcard1581); 

                            current.merge(kw);
                            newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopAsteriskKeyword_1()); 
                        

                    }
                    break;

            }


            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleQualifiedNameWithWildcard"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleStrutsConfig_in_entryRuleStrutsConfig75 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStrutsConfig85 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_ruleStrutsConfig122 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleStrutsConfig139 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleStrutsConfig156 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rulePackageContainer_in_ruleStrutsConfig177 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_ruleStrutsConfig189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePackageContainer_in_entryRulePackageContainer225 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePackageContainer235 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rulePackageContainer272 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_rulePackageContainer289 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_15_in_rulePackageContainer306 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_rulePackageContainer323 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_rulePackageContainer340 = new BitSet(new long[]{0x0000000000012000L});
    public static final BitSet FOLLOW_16_in_rulePackageContainer353 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_rulePackageContainer365 = new BitSet(new long[]{0x0000000000022000L});
    public static final BitSet FOLLOW_ruleAction_in_rulePackageContainer386 = new BitSet(new long[]{0x0000000000022000L});
    public static final BitSet FOLLOW_13_in_rulePackageContainer399 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_rulePackageContainer413 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAction_in_entryRuleAction449 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAction459 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_ruleAction496 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleAction513 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleAction530 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_18_in_ruleAction542 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_ruleClass_in_ruleAction563 = new BitSet(new long[]{0x0000000020000000L});
    public static final BitSet FOLLOW_ruleMethod_in_ruleAction584 = new BitSet(new long[]{0x0000000000082000L});
    public static final BitSet FOLLOW_19_in_ruleAction597 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleAction609 = new BitSet(new long[]{0x0000000001102000L});
    public static final BitSet FOLLOW_ruleResult_in_ruleAction630 = new BitSet(new long[]{0x0000000001102000L});
    public static final BitSet FOLLOW_13_in_ruleAction643 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_ruleAction657 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleResult_in_entryRuleResult693 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleResult703 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_ruleResult741 = new BitSet(new long[]{0x0000000000E00000L});
    public static final BitSet FOLLOW_21_in_ruleResult761 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_22_in_ruleResult790 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_23_in_ruleResult819 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_24_in_ruleResult849 = new BitSet(new long[]{0x0000000006000000L});
    public static final BitSet FOLLOW_25_in_ruleResult869 = new BitSet(new long[]{0x0000000018000002L});
    public static final BitSet FOLLOW_26_in_ruleResult898 = new BitSet(new long[]{0x0000000018000002L});
    public static final BitSet FOLLOW_27_in_ruleResult927 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleResult944 = new BitSet(new long[]{0x0000000010000002L});
    public static final BitSet FOLLOW_28_in_ruleResult964 = new BitSet(new long[]{0x0000000040002000L});
    public static final BitSet FOLLOW_ruleParameter_in_ruleResult985 = new BitSet(new long[]{0x0000000040002000L});
    public static final BitSet FOLLOW_13_in_ruleResult998 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleClass_in_entryRuleClass1036 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleClass1046 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_ruleClass1091 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMethod_in_entryRuleMethod1126 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMethod1136 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_ruleMethod1173 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleMethod1190 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter1231 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleParameter1241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_ruleParameter1278 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleParameter1295 = new BitSet(new long[]{0x0000000008000000L});
    public static final BitSet FOLLOW_27_in_ruleParameter1312 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleParameter1329 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName1371 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName1382 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName1422 = new BitSet(new long[]{0x0000000080000002L});
    public static final BitSet FOLLOW_31_in_ruleQualifiedName1441 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName1456 = new BitSet(new long[]{0x0000000080000002L});
    public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard1504 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard1515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleQualifiedNameWithWildcard1562 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_32_in_ruleQualifiedNameWithWildcard1581 = new BitSet(new long[]{0x0000000000000002L});

}